<!DOCTYPE html>
<html lang="zh-cn">
    <head><meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'><meta name='description' content='这篇文章是由我毕设改出来的，或许可以启发你怎么写废话'><title>基于肢体运动的睡眠状态检测原理</title>

<link rel='canonical' href='https://blog.frostmiku.com/archives/36/'>

<link rel="stylesheet" href="/scss/style.min.css"><meta property='og:title' content='基于肢体运动的睡眠状态检测原理'>
<meta property='og:description' content='这篇文章是由我毕设改出来的，或许可以启发你怎么写废话'>
<meta property='og:url' content='https://blog.frostmiku.com/archives/36/'>
<meta property='og:site_name' content='StarWhisper'>
<meta property='og:type' content='article'><meta property='article:section' content='Post' /><meta property='article:tag' content='Paper' /><meta property='article:published_time' content='2021-06-30T15:22:00&#43;08:00'/><meta property='article:modified_time' content='2021-06-30T15:22:00&#43;08:00'/><meta property='og:image' content='https://blog.frostmiku.com/archives/36/3.jpg' />
<meta name="twitter:site" content="@iceMiKu">
    <meta name="twitter:creator" content="@iceMiKu"><meta name="twitter:title" content="基于肢体运动的睡眠状态检测原理">
<meta name="twitter:description" content="这篇文章是由我毕设改出来的，或许可以启发你怎么写废话"><meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:image" content='https://blog.frostmiku.com/archives/36/3.jpg' />
    <link rel="shortcut icon" href="/favicon.ico" />
<style>
    :root {
        --article-font-family: "Noto Serif SC", var(--base-font-family);
    }
</style>

<script>
		(function () {
		    const customFont = document.createElement('link');
		    customFont.href = "<https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700&display=swap>";
		
		    customFont.type = "text/css";
		    customFont.rel = "stylesheet";
		
		    document.head.appendChild(customFont);
		}());
</script>
    </head>
    <body class="
    article-page has-toc
">
    <script>
        (function() {
            const colorSchemeKey = 'StackColorScheme';
            if(!localStorage.getItem(colorSchemeKey)){
                localStorage.setItem(colorSchemeKey, "auto");
            }
        })();
    </script><script>
    (function() {
        const colorSchemeKey = 'StackColorScheme';
        const colorSchemeItem = localStorage.getItem(colorSchemeKey);
        const supportDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches === true;

        if (colorSchemeItem == 'dark' || colorSchemeItem === 'auto' && supportDarkMode) {
            

            document.documentElement.dataset.scheme = 'dark';
        } else {
            document.documentElement.dataset.scheme = 'light';
        }
    })();
</script>
<div class="container main-container flex 
    
        extended
    
">
    
        <div id="article-toolbar">
            <a href="https://blog.frostmiku.com" class="back-home">
                <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-left" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
  <path stroke="none" d="M0 0h24v24H0z"/>
  <polyline points="15 6 9 12 15 18" />
</svg>



                <span>Back</span>
            </a>
        </div>
    
<main class="main full-width">
    <article class="has-image main-article">
    <header class="article-header">
        <div class="article-image">
            <a href="/archives/36/">
                <img src="/archives/36/3_hu5f6040234dc4fded8a5d093800e3042d_106071_800x0_resize_q75_box.jpg"
                        srcset="/archives/36/3_hu5f6040234dc4fded8a5d093800e3042d_106071_800x0_resize_q75_box.jpg 800w, /archives/36/3_hu5f6040234dc4fded8a5d093800e3042d_106071_1600x0_resize_q75_box.jpg 1600w"
                        width="800" 
                        height="423" 
                        loading="lazy"
                        alt="Featured image of post 基于肢体运动的睡眠状态检测原理" />
                
            </a>
        </div>
    

    <div class="article-details">
    
    <header class="article-category">
        
            <a href="/categories/%E6%95%B4%E6%B4%BB/" style="background-color: #ff945f; color: #fff;">
                整活
            </a>
        
    </header>
    

    <h2 class="article-title">
        <a href="/archives/36/">基于肢体运动的睡眠状态检测原理</a>
    </h2>

    
    <h3 class="article-subtitle">
        这篇文章是由我毕设改出来的，或许可以启发你怎么写废话
    </h3>
    <footer class="article-time">
        <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-clock" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
  <path stroke="none" d="M0 0h24v24H0z"/>
  <circle cx="12" cy="12" r="9" />
  <polyline points="12 7 12 12 15 15" />
</svg>



        <time class="article-time--published">Jun 30, 2021</time>
    </footer></div>
</header>

    <section class="article-content">
    <h2 id="背景">背景</h2>
<p>  睡眠，作为人类每天都要进行的一项活动，它占据了人类整个生命周期的三分之一左右，其质量的高低对人类身心健康有着巨大的影响。</p>
<p>  良好的睡眠质量有助于身体成长、提高大脑记忆能力、增强自身免疫力，同时有利于集中注意力，保证各方面均衡发展，是健康的基本保证。然而，现如今的年轻人或是因为繁重的学习生活压力，或是因为精彩缤纷的互联网世界，熬夜成瘾，久久无法入眠。</p>
<p>  来自洛阳市精神卫生中心的调查显示大部分学生能够认识到睡眠质量与学习、工作的直接关联，也非常重视自身的睡眠质量，但是却没有为改善自己的睡眠质量做出过努力<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>。</p>
<p>  据报告，在美国，有15%至60%的严重交通事故是由睡眠问题所造成的<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>，因睡眠问题导致的各类财务损失超过几百亿美金<sup id="fnref:3"><a href="#fn:3" class="footnote-ref" role="doc-noteref">3</a></sup>。</p>
<p>  睡眠质量的高低与人类健康息息相关，较差的睡眠质量会导致情绪低落、注意力涣散、反应迟钝、免疫力下降等症状，严重情况下，熬夜者很可能会有猝死的风险。</p>
<p>  近年来，随着物质生活水平的不断提高，人们的健康意识逐渐增强，对人生三分之一都在进行的大事——“睡眠”自然也是十分关注。</p>
<p>  随着对睡眠的医学研究全面深入，和传感器技术的飞速发展，为人们优化自己的睡眠质量提供了新的可能。</p>
<p>  睡眠质量的高低与人类健康息息相关，较差的睡眠质量通常会导致许多疾病的发病率升高，严重情况下，熬夜者很可能会有猝死的风险。通常我们可以依据睡眠者起床时的精神面貌来评判睡眠质量的高低，而睡眠者被唤醒的时机是影响起床时精神面貌的关键因素之一。</p>
<p><figure style="flex-grow: 192; flex-basis: 461px">
		<a href="/archives/36/1.png" data-size="728x379"><img src="/archives/36/1.png"
				srcset="/archives/36/1_hu8a7a4e96fac6f0db296b54f74841bcba_27179_480x0_resize_box_3.png 480w, /archives/36/1_hu8a7a4e96fac6f0db296b54f74841bcba_27179_1024x0_resize_box_3.png 1024w"
				width="728"
				height="379"
				loading="lazy"
				alt="图 1 睡眠样本">
		</a>
		
		<figcaption>图 1 睡眠样本</figcaption>
		
	</figure></p>
<p>  如图1所示，医学界通常认为睡眠过程是一个由快速动眼期(REM)和非快速动眼期(NREM)两大时序状态组成的循环过程，其中，非快速动眼期阶段又可以细化为以下四个睡眠子阶段：第一、二阶段统称为浅睡眠过程(Light Sleep)，第三、四阶段统称为深睡眠过程(Deep Sleep)<sup id="fnref:4"><a href="#fn:4" class="footnote-ref" role="doc-noteref">4</a></sup>。当睡眠者在深睡眠过程中被外界因素唤醒时，将会产生梦中惊醒的效果，睡眠者的精神面貌也必不会有多好。然而，当睡眠者在浅度睡眠时受外界因素被唤醒时，则会表现出自然睡醒一样的效果<sup id="fnref:5"><a href="#fn:5" class="footnote-ref" role="doc-noteref">5</a></sup>。</p>
<h2 id="睡眠周期及睡眠状态检测原理">睡眠周期及睡眠状态检测原理</h2>
<h3 id="睡眠周期">睡眠周期</h3>
<p>  人类的睡眠存在一个生物节律，即大约在90到100分钟的时间内，经历五个不同阶段的周期，国际睡眠医学将睡眠阶段分为五期：入睡期、浅睡期、熟睡期、深睡期和快速动眼期。</p>
<p>  入睡期是睡眠的开始，昏昏欲睡的感觉就属于这一阶段。浅睡期开始正式睡眠。熟睡期和沉睡期是沉睡阶段，在该阶段人不容易被叫醒。当睡眠者由浅睡期或快速动眼期逐步进入沉睡期时，睡眠者的呼吸频率和心跳速度均会减慢且变得有节奏，其血压也会降低。与此同时，脑电波开始变慢并且会呈现出大量高幅值的波段<sup id="fnref:6"><a href="#fn:6" class="footnote-ref" role="doc-noteref">6</a></sup>。</p>
<p>  以上四个阶段睡眠共要经过约60到90分钟。而且均不会出现眼球快速跳动现象，故统称为非快速动眼睡眠。</p>
<p>  最后一个时期被称为快速动眼期。顾名思义，此时的睡眠者会出现动眼现象，此时的睡眠者通常会有翻身的动作，并且容易惊醒。科学研究表明，快速动眼期是大脑内部对记忆的学习和技巧的快速整合阶段。这一阶段的睡眠质量直接决定了睡眠者的记忆和理解效率，是非常重要的睡眠阶段<sup id="fnref:7"><a href="#fn:7" class="footnote-ref" role="doc-noteref">7</a></sup>。所以保证足够的睡眠时间是非常重要的。</p>
<p><figure style="flex-grow: 201; flex-basis: 482px">
		<a href="/archives/36/2.jpg" data-size="324x161"><img src="/archives/36/2.jpg"
				srcset="/archives/36/2_hu1e7f476a967c2bff218d6463f4f91e9b_14181_480x0_resize_q75_box.jpg 480w, /archives/36/2_hu1e7f476a967c2bff218d6463f4f91e9b_14181_1024x0_resize_q75_box.jpg 1024w"
				width="324"
				height="161"
				loading="lazy"
				alt="图 2 睡眠过程状态迁移图">
		</a>
		
		<figcaption>图 2 睡眠过程状态迁移图</figcaption>
		
	</figure></p>
<p>  睡眠周期是由睡眠刚启动的昏昏欲睡逐渐变沉，经由非快速动眼期（慢波睡眠期）和快速动眼期（异相睡眠期），这几个睡眠阶段之间的往复循环。又称为短昼夜睡眠周期，睡梦周期或快速动眼—非快速动眼(REM-NREM)周期，以示区别于睡眠和清醒间的昼夜交替。如图1所示人类的睡眠周期约70至110分钟（90±20分钟）<sup id="fnref:8"><a href="#fn:8" class="footnote-ref" role="doc-noteref">8</a></sup>。医学上又可以将睡眠细粒度地分为如图2所示的五个阶段：</p>
<ul>
<li>第一阶段(S1)也是非快速动眼期第一阶段，是睡眠的最初状态，也是睡眠者由清醒逐渐进入到浅睡眠状态的过程。睡眠者在该阶段通常会出现突然地肌肉颤动，容易受到外部环境的干扰。</li>
<li>第二阶段(S2)是相较于第一阶段(S1)更深程度的睡眠阶段。但其仍然属于浅睡眠阶段。在该阶段中，睡眠者身体温度开始下降，并且心率开始减慢。这个阶段通常持续约20分钟左右，是睡眠者从浅睡眠进入深睡眠的过程。</li>
<li>第三阶段(S3)是睡眠者进入深睡眠阶段中的第一阶段。睡眠者的血压开始降低，呼吸频率进一步减慢，与此同时，身体体温再次下降，变得更低。睡眠者在该阶段很少出现身体运动。如果此时将睡眠者唤醒，那么他/她的精神面貌将会很差，并且容易导致注意力不集中等症状。</li>
<li>第四阶段(S4)是深睡眠过程中的第二个阶段，也是整个过程中睡眠程度最深的阶段。是深睡眠过程中的第二个阶段，也是整个过程中睡眠程度最深的阶段。该阶段持续大约30分钟。</li>
<li>第五阶段(S5)是快速动眼期(REM), 也是整个睡眠过程中睡眠者脑部活动最为活跃的阶段。在此阶段中，睡眠者的脑电波通常很快且变化迅速，形状与清醒状态下相类似<sup id="fnref:9"><a href="#fn:9" class="footnote-ref" role="doc-noteref">9</a></sup>。</li>
</ul>
<h3 id="通过肢体运动检测睡眠状态">通过肢体运动检测睡眠状态</h3>
<p>  在不同的睡眠阶段，睡眠者通常会表现出不同的肢体运动行为。从医学角度看, 在浅睡眠阶段，睡眠者的心跳频率通常较快，从而容易导致较大的身体动作，比如翻身等现象。相反，一些微小的身体动作经常会发生在深睡眠阶段。此外，在快速动眼期，睡眠者脑电波处于较为活跃的状态，在该阶段睡眠者多梦，由此会引发一些无意识的身体动作，手臂拉伸、腿部伸展等肢体活动经常发生于该阶段。因此给通过肢体运动行为进行睡眠者睡眠状态推测提供了依据。</p>
<p>  在图2中的S1阶段中睡眠者的眼部运动和身体肌肉运动开始减少，逐步进入休息状态。睡眠者在该阶段通常会出现突然地肌肉颤动，容易受到外部环境的干扰，之后的几个阶段中肢体动作依次递减。直至S5阶段睡眠者的呼吸速度开始加快，变得不规律。与此同时，睡眠者在此阶段通常多梦，其眼部运动开始加剧，嘴部及肌肉活动变得频繁起来。</p>
<p>  在一次正常的睡眠过程中，睡眠者通常会由浅睡眠阶段变换至深睡眠阶段，接着并不直接进入快速动眼期，而是从深度睡眠逆向回到浅度睡眠，之后才进入快速动眼期。快速动眼期结束后，接着再进入S1阶段，如此周而复始。睡眠过程中的状态变换在时间上呈现出周期性规律，不同睡眠状态之间的切换也具有一定的依赖性与时序性。一次完整的睡眠状态周期大约会持续90分钟，并且一晚上大约循环4到6次。</p>
<h2 id="实现">实现</h2>
<p>  这部分我就不放出来了，基本就是拿到加速度传感器三轴的值然后归一化，然后进行识别，马尔科夫链或是条件随机场都是很好的方法，当然我更推荐后者，因为前者认为所有显式状态是彼此独立的，在建模中并不考虑他们之间的依赖关系。考虑到睡眠过程中各个睡眠相关事件的相互依赖性，相比于隐式马尔科夫链，条件随机场能够描述更多特征，从而达到更好地预测效果。</p>
<p><figure style="flex-grow: 205; flex-basis: 492px">
		<a href="/archives/36/4.jpg" data-size="1659x808"><img src="/archives/36/4.jpg"
				srcset="/archives/36/4_huc862200047d2791ebe78021e5f3bf473_68674_480x0_resize_q75_box.jpg 480w, /archives/36/4_huc862200047d2791ebe78021e5f3bf473_68674_1024x0_resize_q75_box.jpg 1024w"
				width="1659"
				height="808"
				loading="lazy"
				alt="数据处理">
		</a>
		
		<figcaption>数据处理</figcaption>
		
	</figure></p>
<p>而我为了混个毕业就直接有限状态机解决问题了。<del>差不多得了</del></p>
<p><figure style="flex-grow: 189; flex-basis: 454px">
		<a href="/archives/36/3.jpg" data-size="1605x848"><img src="/archives/36/3.jpg"
				srcset="/archives/36/3_hu5f6040234dc4fded8a5d093800e3042d_106071_480x0_resize_q75_box.jpg 480w, /archives/36/3_hu5f6040234dc4fded8a5d093800e3042d_106071_1024x0_resize_q75_box.jpg 1024w"
				width="1605"
				height="848"
				loading="lazy"
				alt="总体架构">
		</a>
		
		<figcaption>总体架构</figcaption>
		
	</figure></p>
<h2 id="reference">Reference</h2>
<section class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1" role="doc-endnote">
<p>郑伟,赵静霞. 117例大学生睡眠状态调查[A].河南省精神病学学术年会资料汇编[C]. 河南:河南省护理学会, 2006:2-3.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2" role="doc-endnote">
<p>Sleep-deprived driving. Technical report[EB/OL], 2005. <a class="link" href="https://en.wikipedia.org/wiki/Sleep-deprived_driving#cite_note-CNN-5"  target="_blank" rel="noopener"
    >https://en.wikipedia.org/wiki/Sleep-deprived_driving#cite_note-CNN-5</a>.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:3" role="doc-endnote">
<p>Hillman D R, Murphy A S, Antic R, et al. The economic cost of sleep disorders[J]. Sleep, 2006, 29(3):299-305.&#160;<a href="#fnref:3" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:4" role="doc-endnote">
<p>Längkvist M, Karlsson L, Loutfi A. Sleep stage classification using unsupervised feature learning[J]. Advances in Artificial Neural Systems, 2012, 32(5):5-7.&#160;<a href="#fnref:4" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:5" role="doc-endnote">
<p>Trinder J, Kleiman J, Carrington M, et al. Autonomic activity during human sleep as a function of time and sleep stage[J]. Journal of sleep research, 2001, 10(4): 253-264.&#160;<a href="#fnref:5" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:6" role="doc-endnote">
<p>Weixi Gu, Longfei Shangguan, Zheng Yang, et al.Sleep Hunter: Towards Fine Grained Sleep Stage Tracking with Smartphones[J]. IEEE Transactions on Mobile Computing, 2016, 20(15):1514-1527&#160;<a href="#fnref:6" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:7" role="doc-endnote">
<p>Ancoli-Israel S, Cole R, Alessi C, et al. The role of actigraphy in the study of sleep and circadian rhythms[J]. Sleep, 2003, 26(3): 342-392.&#160;<a href="#fnref:7" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:8" role="doc-endnote">
<p>维基. 睡眠周期[EB/OL], <a class="link" href="https://zh.wikipedia.org/wiki/%E7%9D%A1%E7%9C%A0%E9%80%B1%E6%9C%9F,"  target="_blank" rel="noopener"
    >https://zh.wikipedia.org/wiki/%E7%9D%A1%E7%9C%A0%E9%80%B1%E6%9C%9F,</a> 2021-04-05&#160;<a href="#fnref:8" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:9" role="doc-endnote">
<p>顾维玺. 基于移动感知技术的睡眠状态追踪研究[D]. 北京: 清华大学,2015.&#160;<a href="#fnref:9" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</section>

</section>


    <footer class="article-footer">
    
    <section class="article-tags">
        
            <a href="/tags/paper/">Paper</a>
        
    </section>


    
    <section class="article-copyright">
        <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-copyright" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
  <path stroke="none" d="M0 0h24v24H0z"/>
  <circle cx="12" cy="12" r="9" />
  <path d="M14.5 9a3.5 4 0 1 0 0 6" />
</svg>



        <span>Licensed under CC BY-NC-SA 4.0</span>
    </section>
    </footer>

    
</article>

    <aside class="related-contents--wrapper">
    
    
        <h2 class="section-title">相关文章</h2>
        <div class="related-contents">
            <div class="flex article-list--tile">
                
                    
<article class="has-image">
    <a href="/archives/35/">
        
        
            <div class="article-image">
                <img src="/archives/35/after.945f6b0283370c0e5d12f832f1319bc9_hu23b7e7c62fd8951b5b31d4f97802b41e_155221_250x150_fill_q75_box_smart1.jpg" 
                        width="250" 
                        height="150" 
                        loading="lazy" 
                        data-key="35" 
                        data-hash="md5-lF9rAoM3DA5dEvgy8TGbyQ==">
                
            </div>
        

        <div class="article-details">
            <h2 class="article-title">仿手写文本生成</h2>
        </div>
    </a>
</article>
                
                    
<article class="has-image">
    <a href="/archives/34/">
        
        
            <div class="article-image">
                <img src="/archives/34/Game51.1823dcf7e012d3ec5ff280557f07dd9f_hu35b2e34c1174dbc23109259dd40822e7_105087_250x150_fill_q75_box_smart1.jpg" 
                        width="250" 
                        height="150" 
                        loading="lazy" 
                        data-key="34" 
                        data-hash="md5-GCPc9&#43;AS0&#43;xf8oBVfwfdnw==">
                
            </div>
        

        <div class="article-details">
            <h2 class="article-title">大革命，一种扑克卡牌游戏</h2>
        </div>
    </a>
</article>
                
                    
<article class="has-image">
    <a href="/archives/33/">
        
        
            <div class="article-image">
                <img src="/archives/33/_hu958d513eeefe5556a31d065479ecc5ac_14205_7bffa90d1e66ca9b8184fda08a99dc7e.jpg" 
                        width="250" 
                        height="150" 
                        loading="lazy" 
                        data-key="33" 
                        data-hash="md5-jq4GZk3fs&#43;jcbgAHVstwOw==">
                
            </div>
        

        <div class="article-details">
            <h2 class="article-title">浅谈邀请码的生成</h2>
        </div>
    </a>
</article>
                
                    
<article class="has-image">
    <a href="/archives/28/">
        
        
            <div class="article-image">
                <img src="/archives/28/bigsur.fe3a06fb4c083872772aa8c30a0fad85_hu1882b8a1356b3be9e2c65bea0519cb32_1306396_250x150_fill_box_smart1_3.png" 
                        width="250" 
                        height="150" 
                        loading="lazy" 
                        data-key="28" 
                        data-hash="md5-/joG&#43;0wIOHJ3KqjDCg&#43;thQ==">
                
            </div>
        

        <div class="article-details">
            <h2 class="article-title">OpenCore打造一个完美的 Hackintosh 遇到的问题</h2>
        </div>
    </a>
</article>
                
                    
<article class="has-image">
    <a href="/archives/20/">
        
        
            <div class="article-image">
                <img src="/archives/20/_hud7e36f7e20e71be184458283bdae4646_55974_23a5d351d2fc2374f952239b6e9c423a.jpg" 
                        width="250" 
                        height="150" 
                        loading="lazy" 
                        data-key="20" 
                        data-hash="md5-xRTZFpFxc6SKQuARS0aZYQ==">
                
            </div>
        

        <div class="article-details">
            <h2 class="article-title">编译原理学习笔记：文法与语言</h2>
        </div>
    </a>
</article>
                
            </div>
        </div>
    
</aside>

     
     
        
    <script src="https://utteranc.es/client.js" 
        repo="FrostMiKu/frostmiku.github.io"
        issue-term="title"
        
        label="Comment"
        
        crossorigin="anonymous"
        async
        >
</script>

<style>
    .utterances {
        max-width: unset;
    }
</style>

<script>
    function setUtterancesTheme(theme) {
        let utterances = document.querySelector('.utterances iframe');
        if (utterances) {
            utterances.contentWindow.postMessage(
                {
                    type: 'set-theme',
                    theme: `github-${theme}`
                },
                'https://utteranc.es'
            );
        }
    }

    addEventListener('message', event => {
        if (event.origin !== 'https://utteranc.es') return;
        setUtterancesTheme(document.documentElement.dataset.scheme)
    });

    window.addEventListener('onColorSchemeChange', (e) => {
        setUtterancesTheme(e.detail)
    })
</script>


    

    <footer class="site-footer">
    <section class="copyright">
        &copy; 
        
            2014 - 
        
        2022 StarWhisper
    </section>
    
    <section class="powerby">
        
            FrostMiKu <br/>
        Built with <a href="https://gohugo.io/" target="_blank" rel="noopener">Hugo</a> <br />
        Theme <b><a href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener" data-version="2.4.0">Stack</a></b> designed by <a href="https://jimmycai.com" target="_blank" rel="noopener">Jimmy</a>
        <br />
        <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
        <span id="busuanzi_container_site_pv">本站总访问量 <span id="busuanzi_value_site_pv"></span> 次</span>
    </section>
</footer>

    
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

    
    <div class="pswp__bg"></div>

    
    <div class="pswp__scroll-wrap">

        
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>

        
        <div class="pswp__ui pswp__ui--hidden">

            <div class="pswp__top-bar">

                

                <div class="pswp__counter"></div>

                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>

                <button class="pswp__button pswp__button--share" title="Share"></button>

                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>

                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>

                
                
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                        <div class="pswp__preloader__cut">
                            <div class="pswp__preloader__donut"></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div>
            </div>

            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>

            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>

            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>

        </div>

    </div>

</div><script 
                src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"integrity="sha256-ePwmChbbvXbsO02lbM3HoHbSHTHFAeChekF1xKJdleo="crossorigin="anonymous"
                defer="true"
                >
            </script><script 
                src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"integrity="sha256-UKkzOn/w1mBxRmLLGrSeyB4e1xbrp4xylgAWb3M42pU="crossorigin="anonymous"
                defer="true"
                >
            </script><link 
                rel="stylesheet" 
                href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.css"integrity="sha256-c0uckgykQ9v5k&#43;IqViZOZKc47Jn7KQil4/MP3ySA3F8="crossorigin="anonymous"
            ><link 
                rel="stylesheet" 
                href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.css"integrity="sha256-SBLU4vv6CA6lHsZ1XyTdhyjJxCjPif/TRkjnsyGAGnE="crossorigin="anonymous"
            >

            </main>
    
        <aside class="sidebar right-sidebar sticky">
            <section class="widget archives">
                <div class="widget-icon">
                    <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-hash" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
  <path stroke="none" d="M0 0h24v24H0z"/>
  <line x1="5" y1="9" x2="19" y2="9" />
  <line x1="5" y1="15" x2="19" y2="15" />
  <line x1="11" y1="4" x2="7" y2="20" />
  <line x1="17" y1="4" x2="13" y2="20" />
</svg>



                </div>
                <h2 class="widget-title section-title">Table of contents</h2>
                
                <div class="widget--toc">
                    <nav id="TableOfContents">
  <ol>
    <li><a href="#背景">背景</a></li>
    <li><a href="#睡眠周期及睡眠状态检测原理">睡眠周期及睡眠状态检测原理</a>
      <ol>
        <li><a href="#睡眠周期">睡眠周期</a></li>
        <li><a href="#通过肢体运动检测睡眠状态">通过肢体运动检测睡眠状态</a></li>
      </ol>
    </li>
    <li><a href="#实现">实现</a></li>
    <li><a href="#reference">Reference</a></li>
  </ol>
</nav>
                </div>
            </section>
        </aside>
    

        </div>
        <script 
                src="https://cdn.jsdelivr.net/npm/node-vibrant@3.1.5/dist/vibrant.min.js"integrity="sha256-5NovOZc4iwiAWTYIFiIM7DxKUXKWvpVEuMEPLzcm5/g="crossorigin="anonymous"
                defer="false"
                >
            </script><script type="text/javascript" src="/ts/main.js" defer></script>
<script>
    (function () {
        const customFont = document.createElement('link');
        customFont.href = "https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap";

        customFont.type = "text/css";
        customFont.rel = "stylesheet";

        document.head.appendChild(customFont);
    }());
</script>

    </body>
</html>
